home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / conlib.lha / ConLib / Asm_Stuff / con2.i < prev    next >
Text File  |  1992-01-04  |  7KB  |  237 lines

  1.     IFND    LIBRARIES_CON_I
  2. LIBRARIES_CON_I SET 1
  3.  
  4. ;==================================================================
  5. ;===    Include for "con.library" by BReese
  6. ;==================================================================
  7.  
  8.     IFND    EXEC_LIBRARIES_I
  9.     INCLUDE    'exec/libraries.i'
  10.     ENDC
  11.     IFND    INTUITION_INTUITION_I
  12.     INCLUDE    'intuition/intuition.i'
  13.     ENDC
  14.  
  15. CONNAME: MACRO                ; Name of the Library
  16.     DC.B    'con.library',0
  17.     ENDM
  18.  
  19. CHARDEFSIZE    EQU (256+7)/8        ; 256 ASCII Characters
  20. IGNOREVALUE    EQU -1
  21.  
  22. ;==================================================================
  23. ;===    ConBase
  24. ;==================================================================
  25.  
  26.       STRUCTURE    con_,0
  27.     STRUCT    con_LibNode,LIB_SIZE    ; Library Node
  28.     APTR    con_SegList        ; Segment List [from LoadSeg()]
  29.     APTR    con_IntBase        ; Intuition Base
  30.     APTR    con_MathBase        ; MathFFP Base
  31.     LABEL    con_SIZEOF
  32.  
  33. ;==================================================================
  34. ;===    ConHandle
  35. ;==================================================================
  36.  
  37.       STRUCTURE    cnh_,0
  38.     APTR    cnh_CDBase        ; Base of Console Device
  39.     APTR    cnh_Window        ; Our Intuition Window
  40.     APTR    cnh_UserPort        ; UserPort for Window
  41.     APTR    cnh_Unit        ; ConUnit
  42.     APTR    cnh_WriteIO        ; Our Write IO Port
  43.     ULONG    cnh_Signal        ; SignalSet [for Wait()]
  44.     UWORD    cnh_ExLength        ; Extra Space for String Formatting
  45.     UWORD    cnh_CursorStatus    ; Current Cursor Status [on/off]
  46.     UBYTE    cnh_PadSpace        ; Char for Leading Spaces in Numbers
  47.     UBYTE    cnh_PadZero        ; Char for Leading Zeros in Numbers
  48.     UBYTE    cnh_PadGroup        ; Char for Group Classifying
  49.     UBYTE    cnh_PadString        ; Char for Unused String Positions
  50.     UBYTE    cnh_DecimalPoint    ; Char for Decimal Point
  51.     UBYTE    cnh_FloatE        ; Char for Floating Point Exponent
  52.     STRUCT    cnh_EchoTable,CHARDEFSIZE    ; BitTable of Echo Chars
  53.     STRUCT    cnh_UserNotes,8*4    ; List of Pointers to UserNotes
  54.     APTR    cnh_MsgHandler        ; Pointer to a User Message Handler
  55.     STRUCT    cnh_Reserved,4*4    ; Reserved for future use
  56.     LABEL    cnh_SIZEOF
  57.  
  58. ;==================================================================
  59. ;===    ConInfo
  60. ;==================================================================
  61.  
  62.       STRUCTURE    cin_,0
  63.     UWORD    cin_XPos        ; Cursor X Position
  64.     UWORD    cin_YPos        ; Cursor Y Position
  65.     UWORD    cin_XSize        ; Chars per Line
  66.     UWORD    cin_YSize        ; Lines in Window
  67.     UWORD    cin_Styles        ; Text Styles
  68.     UWORD    cin_FgCol        ; Foreground Color
  69.     UWORD    cin_BgCol        ; Background Color
  70.     STRUCT    cin_Reserved,4*4    ; Reserved for future use
  71.     LABEL    cin_SIZEOF
  72.  
  73. ;==================================================================
  74. ;===    AcceptStructure
  75. ;==================================================================
  76.  
  77.       STRUCTURE    _acc,0
  78.     UWORD    acc_XStart        ; Start X Position
  79.     UWORD    acc_YStart        ; Start Y Position
  80.     UWORD    acc_Styles        ; Text Styles
  81.     UWORD    acc_FgCol        ; Foreground Color
  82.     UWORD    acc_BgCol        ; Background Color
  83.     ULONG    acc_ExitFlags        ; IDCMP Exit Flags
  84.     ULONG    acc_Class        ; Copy of im_Class
  85.     UWORD    acc_Code        ; Copy of im_Code
  86.     UWORD    acc_Qualifier        ; Copy of im_Qualifier
  87.     APTR    acc_IAddress        ; Copy of im_IAddress
  88.     WORD    acc_MouseX        ; Copy of im_MouseX
  89.     WORD    acc_MouseY        ; Copy of im_MouseY
  90.     ULONG    acc_Seconds        ; Copy of im_Seconds
  91.     ULONG    acc_Micros        ; Copy of im_Micros
  92.     APTR    acc_IDCMPWindow        ; Copy of im_IDCMPWindow
  93.     UBYTE    acc_Char        ; ASCII char
  94.     UBYTE    acc_Pad001        ; Nothing serious
  95.     STRUCT    acc_ValidTable,CHARDEFSIZE    ; BitTable of Valid Chars
  96.     STRUCT    acc_ExitTable,CHARDEFSIZE    ; BitTable of Exit Chars
  97.     STRUCT    acc_Reserved,4*4    ; Reserved for future use
  98.     LABEL    acc_SIZEOF
  99. ;--- Extended AcceptString() Structure
  100.     APTR    accs_InputBuffer    ; Pointer to Input Buffer
  101.     APTR    accs_WorkBuffer        ; Pointer to Work Buffer
  102.     UWORD    accs_MaxLength        ; Maximum Length of Text [incl. NULL]
  103.     UWORD    accs_FieldLen        ; Length of Input Field [incl. NULL]
  104.     UWORD    accs_Length        ; Current Length of Text [excl. NULL]
  105.     UWORD    accs_Position        ; Current Position in Text
  106.     UWORD    accs_DispPos        ; First Displayed Position in Text
  107.     STRUCT    accs_Reserved,4*4    ; Reserved for future use
  108.     LABEL    accs_SIZEOF
  109.  
  110.  
  111. ;==================================================================
  112. ;===    Codes for DefineChar()
  113. ;==================================================================
  114.  
  115. ;=== Modes
  116. DEFMODE_ALL    EQU 0
  117. DEFMODE_NEW    EQU 1
  118. DEFMODE_ADD    EQU 2
  119. DEFMODE_REM    EQU 3
  120. DEFMODE_GET    EQU 4
  121.  
  122. ;=== Pre-defined Tables
  123. DEFALL        EQU 0<<17
  124. DEFNONE        EQU 1<<17
  125. DEFALFANUM    EQU 2<<17
  126. DEFALFA        EQU 3<<17
  127. DEFNUMERIC    EQU 4<<17
  128. DEFDECIMAL    EQU 5<<17
  129. DEFHEX        EQU 6<<17
  130. DEFOCTAL    EQU 7<<17
  131. DEFBINARY    EQU 8<<17
  132. DEFFLOAT    EQU 9<<17
  133.  
  134. ;==================================================================
  135. ;===    Codes for Cursor()
  136. ;==================================================================
  137.  
  138. CURSOROFF    EQU 0
  139. CURSORON    EQU 1
  140.  
  141. ;==================================================================
  142. ;===    Codes for Accept() & AcceptString()
  143. ;==================================================================
  144.  
  145. ;=== General Flags
  146. ACCB_ERASE    EQU 31
  147. ACCF_ERASE    EQU 1<<ACCB_ERASE
  148.  
  149. ;=== Accept Flags
  150. ACCB_RAWKEY    EQU 28
  151. ACCF_RAWKEY    EQU 1<<ACCB_RAWKEY
  152. ACCB_DUALKEY    EQU 27
  153. ACCF_DUALKEY    EQU 1<<ACCB_DUALKEY
  154. ACCB_UPKEY    EQU 26
  155. ACCF_UPKEY    EQU 1<<ACCB_UPKEY
  156. ACCB_ECHO    EQU 25
  157. ACCF_ECHO    EQU 1<<ACCB_ECHO
  158. ACCB_WAIT    EQU 24
  159. ACCF_WAIT    EQU 1<<ACCB_WAIT
  160.  
  161. ;=== AcceptString Flags
  162. ACCB_JUSTIFIED    EQU 22
  163. ACCF_JUSTIFIED    EQU 1<<ACCB_JUSTIFIED
  164. ACCB_CONTINUE    EQU 21
  165. ACCF_CONTINUE    EQU 1<<ACCB_CONTINUE
  166. ACCB_OVERWRITE    EQU 20
  167. ACCF_OVERWRITE    EQU 1<<ACCB_OVERWRITE
  168. ACCB_LASTEXIT    EQU 19
  169. ACCF_LASTEXIT    EQU 1<<ACCB_LASTEXIT
  170. ACCB_FULLSTOP    EQU 18
  171. ACCF_FULLSTOP    EQU 1<<ACCB_FULLSTOP
  172. ACCB_NOAMIGA    EQU 17
  173. ACCF_NOAMIGA    EQU 1<<ACCB_NOAMIGA
  174. ACCB_NOSTDAMIGA    EQU 16
  175. ACCF_NOSTDAMIGA    EQU 1<<ACCB_NOSTDAMIGA
  176. ACCB_NOSCROLL    EQU 15
  177. ACCF_NOSCROLL    EQU 1<<ACCB_NOSCROLL
  178.  
  179.  
  180. ;==================================================================
  181. ;===    Codes for SetGfx()
  182. ;==================================================================
  183.  
  184. SGFB_PLAIN    EQU 0
  185. SGFF_PLAIN    EQU 1<<SGFB_PLAIN
  186. SGFB_BOLD    EQU 1
  187. SGFF_BOLD    EQU 1<<SGFB_BOLD
  188. SGFB_ITALIC    EQU 2
  189. SGFF_ITALIC    EQU 1<<SGFB_ITALIC
  190. SGFB_UNDERLINED    EQU 3
  191. SGFF_UNDERLINED    EQU 1<<SGFB_UNDERLINED
  192.  
  193.  
  194. ;==================================================================
  195. ;===    Codes for Convert()
  196. ;==================================================================
  197.  
  198. ;=== Modes
  199. CNV_DECIMAL    EQU 1
  200. CNV_HEX        EQU 2
  201. CNV_OCTAL    EQU 3
  202. CNV_BINARY    EQU 4
  203.  
  204. ;=== Attributes
  205. CNV_SIGNED    EQU 1<<16
  206. CNV_LEADSPACE    EQU 1<<17
  207.  
  208.  
  209. ;==================================================================
  210. ;===    Codes for Special Keys
  211. ;==================================================================
  212.  
  213. AKEY_NONE    EQU 0
  214. AKEY_HELP    EQU 5
  215. AKEY_BS        EQU 8
  216. AKEY_TAB    EQU 9
  217. AKEY_LF        EQU 10
  218. AKEY_RETURN    EQU 13
  219. AKEY_ARROWRG    EQU 17
  220. AKEY_ARROWLF    EQU 18
  221. AKEY_ARROWUP    EQU 19
  222. AKEY_ARROWDN    EQU 20
  223. AKEY_ESC    EQU 27
  224. AKEY_DEL    EQU 127
  225. AKEY_F1        EQU 129
  226. AKEY_F2        EQU 130
  227. AKEY_F3        EQU 131
  228. AKEY_F4        EQU 132
  229. AKEY_F5        EQU 133
  230. AKEY_F6        EQU 134
  231. AKEY_F7        EQU 135
  232. AKEY_F8        EQU 136
  233. AKEY_F9        EQU 137
  234. AKEY_F10    EQU 138
  235. AKEY_CSI    EQU 155
  236.     ENDC
  237.